OBJECTS= Application.o SQLSystem.o Constants.o Command.o CreateCommand.o DeleteCommand.o InsertCommand.o \
SelectCommand.o DropCommand.o UnloadCommand.o WherePart.o Table.o Cell.o UpdateCommand.o \
VarcharCell.o IntCell.o NullCell.o Helper.o Row.o EbookCommand.o EmailCommand.o LogCommand.o WebsiteCommand.o
CC= g++
BOOSTFLAG= -I /home/asus/boost_1_47_0

app: $(OBJECTS)
	$(CC) -o app $(BOOSTFLAG) $(OBJECTS)

Application.o: Application.cpp SQLSystem.h
	$(CC) $(BOOSTFLAG) -c Application.cpp

SQLSystem.o: SQLSystem.cpp SQLSystem.h Table.h Helper.h Command.h \
        CreateCommand.h InsertCommand.h SelectCommand.h Constants.h
	$(CC) $(BOOSTFLAG) -c SQLSystem.cpp

Command.o: Command.cpp Command.h SQLSystem.h
	$(CC) -c Command.cpp
	
Constants.o: Constants.cpp Constants.h
	$(CC) -c Constants.cpp

CreateCommand.o: CreateCommand.cpp CreateCommand.h SQLSystem.h Command.h
	$(CC) $(BOOSTFLAG) -c CreateCommand.cpp

UpdateCommand.o: UpdateCommand.cpp UpdateCommand.h SQLSystem.h Command.h
	$(CC) $(BOOSTFLAG) -c UpdateCommand.cpp

DeleteCommand.o: DeleteCommand.cpp DeleteCommand.h SQLSystem.h Command.h
	$(CC) $(BOOSTFLAG) -c CreateCommand.cpp

InsertCommand.o: InsertCommand.cpp InsertCommand.h Command.h Helper.h \
        VarcharCell.h IntCell.h NullCell.h
	$(CC) $(BOOSTFLAG) -c InsertCommand.cpp

SelectCommand.o: SelectCommand.cpp SelectCommand.h SQLSystem.h Command.h \
        Helper.h VarcharCell.h IntCell.h NullCell.h WherePart.h
	$(CC) $(BOOSTFLAG) -c SelectCommand.cpp

DropCommand.o: DropCommand.cpp DropCommand.h Helper.h Command.h
	$(CC) $(BOOSTFLAG) -c DropCommand.cpp

UnloadCommand.o: UnloadCommand.cpp UnloadCommand.h Command.h WherePart.h \
        VarcharCell.h IntCell.h NullCell.h
	$(CC) $(BOOSTFLAG) -c UnloadCommand.cpp
EbookCommand.o: EbookCommand.cpp EbookCommand.h Command.h WherePart.h \
        VarcharCell.h IntCell.h NullCell.h InsertCommand.h DeleteCommand.h SelectCommand.h Helper.h Cell.h Constants.h
	$(CC) $(BOOSTFLAG) -c EbookCommand.cpp
EmailCommand.o: EmailCommand.cpp EmailCommand.h Command.h WherePart.h \
        VarcharCell.h IntCell.h NullCell.h InsertCommand.h DeleteCommand.h SelectCommand.h Helper.h Constants.h
	$(CC) $(BOOSTFLAG) -c EmailCommand.cpp
LogCommand.o: LogCommand.cpp LogCommand.h Command.h WherePart.h \
        VarcharCell.h IntCell.h NullCell.h InsertCommand.h DeleteCommand.h SelectCommand.h Helper.h Constants.h
	$(CC) $(BOOSTFLAG) -c LogCommand.cpp
WebsiteCommand.o: WebsiteCommand.cpp WebsiteCommand.h Command.h WherePart.h \
        VarcharCell.h IntCell.h NullCell.h InsertCommand.h DeleteCommand.h SelectCommand.h Helper.h Constants.h
	$(CC) $(BOOSTFLAG) -c WebsiteCommand.cpp
WherePart.o: WherePart.cpp WherePart.h Table.h Cell.h Helper.h VarcharCell.h \
        IntCell.h NullCell.h
	$(CC) $(BOOSTFLAG) -c WherePart.cpp

Table.o: Table.cpp Table.h Row.h Helper.h Command.h IntCell.h VarcharCell.h \
        NullCell.h
	$(CC) $(BOOSTFLAG) -c Table.cpp

Row.o: Row.cpp Row.h Cell.h
	$(CC) -c Row.cpp

Cell.o: Cell.cpp Cell.h 
	$(CC) -c Cell.cpp

VarcharCell.o: VarcharCell.cpp VarcharCell.h Cell.h
	$(CC) -c VarcharCell.cpp

IntCell.o: IntCell.cpp IntCell.h Cell.h
	$(CC) -c IntCell.cpp

NullCell.o: NullCell.cpp NullCell.h Cell.h
	$(CC) -c NullCell.cpp

Helper.o: Helper.cpp Helper.h 
	$(CC) -c Helper.cpp
